﻿$(document).ready(function () {

    $('#Euler').attr("disabled", "disabled");

    $("#EulerRun").val(20);
    $("#archiveInterval").val(1);
    $("#timsetep").val(1);

    $("#EulerRun").keyup(function () {

        if (($("#EulerRun").val() < 1) || ($("#EulerRun").val() > 50000)) {
            $("#EulerRun").val(1);
        }
        else if ($("#EulerRun").val() != Math.floor($("#EulerRun").val())) {
            $("#EulerRun").val(Math.floor($("#EulerRun").val()));
        }
    });

    $("#archiveInterval").keyup(function () {

        if (($("#archiveInterval").val() < 1) || ($("#archiveInterval").val() > 50000)) {
            $("#archiveInterval").val(1);
        }
        else if ($("#archiveInterval").val() != Math.floor($("#archiveInterval").val())) {
            $("#archiveInterval").val(Math.floor($("#archiveInterval").val()));
        }
    });

    $("#timestep").keyup(function () {

        if (($("#timestep").val() < 1) || ($("#timestep").val() > 50000)) {
            $("#timestep").val(1);
        }
        else if ($("#timestep").val() != Math.floor($("#timestep").val())) {
            $("#timestep").val(Math.floor($("#timestep").val()));
        }
    });

    $('#Euler').click(function () {

        displayTimer = 0;

        var thisFrame = jQuery.extend(true, {}, trajectory.frames[0]);

        trajectory.frames = [];
        trajectory.frames.push(thisFrame);

        var forceTime = 0

        for (var i = 0; i < $("#EulerRun").val(); i++) {
            thisFrame = eulerIntegrate(thisFrame);
            if (i % $('#archiveInterval').val() == 0) {
                trajectory.frames.push(thisFrame);
                // forceTime += timer;
            }
        }
        // console.log(forceTime*1000)

        alert("Simulation finished");

        $("#curFrame").text(0 + "/" + (trajectory.frames.length - 1));
    });
});